package com.sugar.follow.up.module.business.dal.dataobject.patientgzxss;

import com.sugar.follow.up.framework.mybatis.core.type.StringListTypeHandler;
import lombok.*;

import java.time.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.sugar.follow.up.framework.mybatis.core.dataobject.BaseDO;

/**
 * 根治性手术 DO
 *
 * @author Ysugar
 */
@TableName(value = "business_patient_gzxss", autoResultMap = true)
@KeySequence("business_patient_gzxss_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PatientGzxssDO extends BaseDO {

    /**
     * ID
     */
    @TableId
    private Long id;
    /**
     * 就诊人ID
     */
    private Long patientId;
    /**
     * 就诊人姓名（冗余）
     */
    private String patientName;
    /**
     * 录入医生ID
     */
    private Long doctorId;
    /**
     * 录入医生姓名（冗余）
     */
    private String doctorName;
    /**
     * 手术日期
     */
    private LocalDate surgeryDate;
    /**
     * 术者
     */
    private String surgeryName;
    /**
     * 术式（多选：腹腔镜 RP；开放式RP；机器人辅助 RP；筋膜内；筋膜外；前入路；后入路）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> surgeryMethod;
    /**
     * 淋巴结清扫情况（多选：未清扫；标准；扩大）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> lbjqsqk;
    /**
     * 淋巴结清扫情况左
     */
    private String lbjqsqkLeft;
    /**
     * 淋巴结清扫情况右
     */
    private String lbjqsqkRight;
    /**
     * 是否保留性神经（多选：否、保留左侧、保留右侧）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> sfblxsj;
    /**
     * 尿管-留置时间
     */
    private LocalDateTime ngLzsj;
    /**
     * 尿管-拔出时间
     */
    private LocalDateTime ngBcsj;
    /**
     * 引流管-留置时间
     */
    private LocalDateTime ylgLzsj;
    /**
     * 引流管-拔出时间
     */
    private LocalDateTime ylgBcsj;
    /**
     * 围手术期并发症（多选：无；其它；直肠损失；血管损伤；神经损伤；淋巴漏）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> wssqbfz;
    /**
     * 并发症及处理方式
     */
    private String bfzjclfs;
    /**
     * 术后诊断
     */
    private String shzd;
    /**
     * Gleason 病理
     */
    private String gleasonBl;
    /**
     * 病理结果黏贴处
     */
    private String bljgntc;


}
